from artifacts.base.attr_type import AttrType
from artifacts.base.bonus_attr import BonusAttr


class SrBonusAttr(BonusAttr):
    def get_type_weight_map(self):
        return {
            AttrType.SR_HP: 1000,
            AttrType.SR_ATK: 1000,
            AttrType.SR_DEF: 1000,
            AttrType.SR_HP_P: 1000,
            AttrType.SR_ATK_P: 1000,
            AttrType.SR_DEF_P: 1000,
            AttrType.SR_CRIT_RATE: 600,
            AttrType.SR_CRIT_DMG: 600,
            AttrType.SR_SPD: 400,
            AttrType.SR_EFFECT_RATE: 800,
            AttrType.SR_EFFECT_RES: 800,
            AttrType.SR_BREAK_EFFECT: 800,
        }

    def get_data_table(self):
        return {
            AttrType.SR_HP: [33.8, 38, 42],
            AttrType.SR_ATK: [16.9, 19, 21],
            AttrType.SR_DEF: [16.9, 19, 21],
            AttrType.SR_HP_P: [3.46, 3.89, 4.32],
            AttrType.SR_ATK_P: [3.46, 3.89, 4.32],
            AttrType.SR_DEF_P: [4.32, 4.86, 5.4],
            AttrType.SR_CRIT_RATE: [2.59, 2.92, 3.24],
            AttrType.SR_CRIT_DMG: [5.18, 5.83, 6.48],
            AttrType.SR_SPD: [2, 2.6],
            AttrType.SR_EFFECT_RATE: [3.46, 3.89, 4.32],
            AttrType.SR_EFFECT_RES: [3.46, 3.89, 4.32],
            AttrType.SR_BREAK_EFFECT: [5.18, 5.83, 6.48],
        }
